package fun.tan90.easy.binlog.manager.model.convert;


import fun.tan90.easy.binlog.base.model.OpenBinlogClientReq;
import fun.tan90.easy.binlog.manager.model.cmd.BinlogMasterAddCmd;
import fun.tan90.easy.binlog.manager.model.cmd.BinlogMasterUpdateCmd;
import fun.tan90.easy.binlog.manager.model.vo.BinlogMasterPageVo;
import fun.tan90.easy.binlog.manager.dataobject.BinlogMaster;
import fun.tan90.easy.binlog.manager.model.vo.BinlogMasterInfoVo;
import org.mapstruct.Mapper;

import java.util.List;


/**
 * description TODO
 * company 铁人科技
 *
 * @author 陈浩杰
 * @date 2023/12/20 22:45
 */
@Mapper(componentModel = "spring")
public interface BinlogMasterConvert {

    BinlogMasterInfoVo doToInfoVo(BinlogMaster binlogMaster);

    BinlogMaster addCmdToDo(BinlogMasterAddCmd addCmd);

    BinlogMaster updateCmdToDo(BinlogMasterUpdateCmd updateCmd);

    BinlogMasterPageVo doToPageVo(BinlogMaster binlogMaster);

    List<BinlogMasterPageVo> dosToPageVos(List<BinlogMaster> binlogMasters);

    OpenBinlogClientReq doToReq(BinlogMaster binlogMaster);
}
